home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Snippets / Help Dialog / helptester.c < prev    next >
C/C++ Source or Header  |  1996-05-25  |  4KB  |  141 lines

  1. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊
  2. // helptester.c
  3. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊
  4.  
  5. // …………………………………………………………………………………………………………………………………………………………………………………………………………… includes
  6.  
  7. #include <Windows.h>
  8. #include <Fonts.h>
  9. #include <Menus.h>
  10. #include <TextEdit.h>
  11. #include <Dialogs.h>
  12. #include <SegLoad.h>
  13. #include <ToolUtils.h>
  14. #include <Resources.h>
  15. #include <Balloons.h>
  16.  
  17. // ……………………………………………………………………………………………………………………………………………………………………………………………………………… defines
  18.  
  19. #define rMenuBar    128
  20. #define mApple        128
  21. #define mFile            129
  22. #define iQuit            11
  23. #define MAXLONG        0x7FFFFFFF
  24.  
  25. // ……………………………………………………………………………………………………………………………………………………………………………………………………………… globals
  26.  
  27. Boolean    gDone = false;
  28.  
  29. // ……………………………………………………………………………………………………………………………………………………………………………… function prototypes
  30.  
  31. void                main                        (void);
  32. void                doInitManagers    (void);
  33. void                doEvents                (EventRecord *);
  34. void                doHelpMenu            (SInt16);
  35. extern void    doHelp                    (void);
  36.  
  37. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊ main
  38.  
  39. void  main(void)
  40. {
  41.     Handle                menubarHdl;
  42.     MenuHandle        menuHdl;
  43.     OSErr                    osErr;
  44.     EventRecord        eventRec;
  45.  
  46.     doInitManagers();
  47.  
  48.     menubarHdl=GetNewMBar(rMenuBar);
  49.     if(menubarHdl == NULL)
  50.         ExitToShell();
  51.     SetMenuBar(menubarHdl);
  52.     DrawMenuBar();
  53.  
  54.     menuHdl = GetMenuHandle(mApple);
  55.     if(menuHdl != NULL)
  56.         AppendResMenu(menuHdl,'DRVR');
  57.     else
  58.         ExitToShell();
  59.  
  60.     osErr = HMGetHelpMenuHandle(&menuHdl);                                                                                /////////
  61.     if(osErr == noErr)                                                                                                                        /////////
  62.         AppendMenu(menuHdl,"\pHelp Dialog Help…");                                                                    /////////
  63.     else                                                                                                                                                    /////////
  64.         ExitToShell();                                                                                                                            /////////
  65.  
  66.     while(!gDone)
  67.     {
  68.         if(WaitNextEvent(everyEvent,&eventRec,MAXLONG,NULL))
  69.             doEvents(&eventRec);
  70.     }
  71. }
  72.  
  73. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊ doInitManagers
  74.  
  75. void  doInitManagers(void)
  76. {
  77.     MaxApplZone();
  78.     MoreMasters();
  79.     
  80.     InitGraf(&qd.thePort);
  81.     InitFonts();
  82.     InitWindows();
  83.     InitMenus();
  84.     TEInit();
  85.     InitDialogs(nil);
  86.  
  87.     InitCursor();
  88. }
  89.  
  90. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊ doEvents
  91.  
  92. void    doEvents(EventRecord *eventRecPtr)
  93. {
  94.     SInt16         partCode, menuID, menuItem;
  95.     WindowPtr    windowPtr;
  96.     SInt32        menuChoice;
  97.             
  98.     switch(eventRecPtr->what)
  99.     {
  100.         case mouseDown:
  101.             partCode = FindWindow(eventRecPtr->where,&windowPtr);
  102.             if(partCode == inMenuBar)
  103.             {
  104.                 menuChoice = MenuSelect(eventRecPtr->where);
  105.                 menuID     = HiWord(menuChoice);
  106.                 menuItem = LoWord(menuChoice);
  107.  
  108.                 switch(menuID)
  109.                 {
  110.                     case mFile:
  111.                         if(menuItem == iQuit)
  112.                             gDone = true;
  113.                         break;
  114.                         
  115.                     case kHMHelpMenuID:                                                                                                        /////////
  116.                         doHelpMenu(menuItem);                                                                                                /////////
  117.                         break;                                                                                                                            /////////
  118.                 }
  119.             }        
  120.             break;
  121.     }
  122. }
  123.  
  124. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊ doHelpMenu
  125.  
  126. void    doHelpMenu(SInt16 menuItem)                                                                                                /////////
  127. {
  128.     MenuHandle    helpMenuHdl;                                                                                                            /////////
  129.     SInt16            origHelpItems, numItems;                                                                                    /////////
  130.  
  131.     HMGetHelpMenuHandle(&helpMenuHdl);                                                                                        /////////
  132.  
  133.     numItems = CountMItems(helpMenuHdl);                                                                                    /////////
  134.     origHelpItems = numItems - 1;                                                                                                    /////////
  135.  
  136.     if(menuItem > origHelpItems)                                                                                                    /////////
  137.         doHelp();                                                                                                                                        /////////
  138. }
  139.  
  140. // ◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊◊
  141.